package com.lx.fav.servlet;

import com.google.gson.Gson;
import com.lx.fav.entity.User;
import com.lx.fav.service.BizException;
import com.lx.fav.service.IUserService;
import com.lx.fav.service.impl.UserServiceImpl;
import com.lx.fav.vo.Result;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    IUserService userService = new UserServiceImpl();
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("application/json;charset=utf-8");
        String name = req.getParameter("name");
        String pwd = req.getParameter("pwd");
        Result ret;
        try {
            User user = userService.login(name, pwd);
            req.getSession().setAttribute("userInfo", user);
            ret = new Result(1, "登陆成功", user);
        } catch (BizException e) {
            ret = new Result(e.getCode(), e.getMessage(), null);
        }
        String json = new Gson().toJson(ret);
        resp.getWriter().append(json);
    }
}
